package app

import (
	"github.com/go-redis/redis/v8"
	"strconv"
)

var RedisCacheConn *redis.Client

// 获取链接 默认链接的是集群 cluster
func RedisCache() *redis.Client {

	if RedisCacheConn != nil {
		return RedisCacheConn
	}

	RedisCacheConn = InitCacheRedis()
	return RedisCacheConn
}

// 初始化
func InitCacheRedis() *redis.Client {

	// 获取配置
	redisConfig, errRedisConfig := Config.GetRedisCacheConfig()
	if errRedisConfig != nil {
		panic(errRedisConfig.Error())
	}

	serverStr := redisConfig.RedisHost + ":" + strconv.FormatInt(redisConfig.RedisPort, 10)

	// 连接
	return redis.NewClient(&redis.Options{
		Addr: serverStr,
	})
}
